#pragma once

#include "../menu/Header.h"
#include "../menu/Menu.h"
#include "../db/db_row.h"

#include "../db_generator/appointment_table.h"
#include "../db_generator/appointment_row.h"
#include "../db_generator/patient_table.h"
#include "../db_generator/patient_row.h"
#include "../db_generator/payment_table.h"
#include "../db_generator/payment_row.h"
#include "../db_generator/practitioner_table.h"
#include "../db_generator/practitioner_row.h"
#include "../db_generator/visit_table.h"
#include "../db_generator/visit_row.h"

namespace uhdpbs {
	namespace menu {
		class generated {
		private:
			static std::string Pad(std::string val, int wide, bool dLeftPad = false);
			static std::string Pad(float val, int wide, bool dLeftPad = false);
		public:
			static void edit_row(uhdpbs::db::row* r);

			static void appointment_list(uhdpbs::generated::appointment_table* tbl);
			static void patient_list(uhdpbs::generated::patient_table* tbl);
			static void payment_list(uhdpbs::generated::payment_table* tbl);
			static void practitioner_list(uhdpbs::generated::practitioner_table* tbl);
			static void visit_list(uhdpbs::generated::visit_table* tbl);
		};
	}
}
